package com.zhuzhe.blog.system.requestDto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 用户信息表
 * </p>
 *
 * @author u53
 * @since 2020-10-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="SysUser对象", description="用户信息表")
public class SysUserDto implements Serializable {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "用户名")
    private String username;

    @ApiModelProperty(value = "密码，加密存储, admin/1234")
    private String password;

    @ApiModelProperty(value = "帐户是否过期(1 未过期，0已过期)")
    private Integer isAccountNonExpired;

    @ApiModelProperty(value = "帐户是否被锁定(1 未过期，0已过期)")
    private Integer isAccountNonLocked;

    @ApiModelProperty(value = "密码是否过期(1 未过期，0已过期)")
    private Integer isCredentialsNonExpired;

    @ApiModelProperty(value = "帐户是否可用(1 可用，0 删除用户)")
    private Integer isEnabled;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "头像url")
    private String imageUrl;

    @ApiModelProperty(value = "注册手机号")
    private String mobile;

    @ApiModelProperty(value = "注册邮箱")
    private String email;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    @ApiModelProperty(value = "密码更新时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date pwdUpdateDate;


    public static final String USERNAME = "username";

    public static final String PASSWORD = "password";

    public static final String IS_ACCOUNT_NON_EXPIRED = "is_account_non_expired";

    public static final String IS_ACCOUNT_NON_LOCKED = "is_account_non_locked";

    public static final String IS_CREDENTIALS_NON_EXPIRED = "is_credentials_non_expired";

    public static final String IS_ENABLED = "is_enabled";

    public static final String NICK_NAME = "nick_name";

    public static final String IMAGE_URL = "image_url";

    public static final String MOBILE = "mobile";

    public static final String EMAIL = "email";

    public static final String CREATE_DATE = "create_date";

    public static final String UPDATE_DATE = "update_date";

    public static final String PWD_UPDATE_DATE = "pwd_update_date";

}
